package com.unitd.frame.comm.serializer;

import java.io.IOException;

/**
 * @desc 对象序列化接口
 * @filename ISerializer.java
 * @copyright www.unitd.com
 * @author Hudan
 * @version 1.0
 * @date 2016/11/28
 */
public interface ISerializer {

	/**
	 * @desc 获取序列化类型名称
	 * @return
	 */
	String name();

	/**
	 * @desc 序列化指定对象
	 * @param obj 需要序列化的对象
	 * @return
	 * @throws IOException
	 */
	byte[] serialize(Object obj) throws IOException;

	/**
	 * @desc 反序列化指定对象
	 * @param bytes 需要反序列化的对象
	 * @return
	 * @throws IOException
	 */
	Object deserialize(byte[] bytes) throws IOException;
}